Systems and Methods For Site-Based Irrigation Control

ABSTRACT

An irrigation system is contained at a particular site, where the site may be a commercial address or a residential address. The system includes a weather station that generates temperature data, precipitation data, and any other useful data that might be used by other components of the system. The system also includes an irrigation controller that uses electrical signals to open and close valves, thereby turning sprinklers on and off, whether zone-by-zone or sprinkler-by-sprinkler. The system further includes a host device which communicates with the weather station and with the irrigation controller. The host device includes a computer processor and one or more wireless interfaces. The host device receives the weather data from the weather station and calculates an amount of desired irrigation, generating an irrigation schedule. The host device then controls the irrigation controller according to the generated irrigation schedule.

CLAIM TO PRIORITY

This application is a continuation of U.S. patent application Ser. No.14/641,044 filed on Mar. 6, 2015, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

This application relates to irrigation systems and, more specifically,to irrigation systems having site-based generation of irrigation controlschedules.

BACKGROUND

Automatic sprinkling systems are well known in the art. These systemstypically operate in a manner where the user specifies a certain timefor starting a watering cycle as well as a length of time that eachspecified watering cycle (in perhaps each of a number of watering zones)should last. In most situations, the user makes an initial best guess asto the watering needs of the vegetation, and sets a watering time basedon that guess. Thereafter, the user monitors the health of the plantsand condition of the soil in each watering zone to make adjustments tothe initial guess as to watering needs and causing correspondingadjustments to the specified watering time for each zone. Ideally, anautomatic sprinkler system should return to the vegetation only as muchwater as has been lost through either evaporation from the soil ortranspiration from the plant. This manual guessing process forspecifying sprinkling durations is notoriously inaccurate. In fact, someestimates indicate that automatic sprinkler users over-water theirvegetation by as much as a thirty to forty percent (30-40%) factor.

The term “evapotranspiration” (ET) refers to the amount of water a plantuses or needs in order to maintain growth. The climatic informationcommonly used to calculate an evapotranspiration value includetemperature, solar radiation, wind speed, and vapor pressure orhumidity. This climatic information is generally collected by a fullservice weather station and processed in one of a number of knowncomplex formulas or equations to calculate the evapotranspiration value.One example of such an equation recognized in the agriculture industryfor accuracy in measuring evapotranspiration using weather stationcollected climatic information is the well-known Penman-Monteith ormodified Penman equations (hereafter referred to as “modified Penmans”).

Considerable effort has accordingly been expended in developingevapotranspiration formulas which mimic the results provided by theweather station climatic information driven (e.g., Penman-Monteith,modified Penmans) equations, but do not require access to such largeamounts of specific weather station collected climatic information. Morespecifically, there is a need for an accurate evapotranspiration formulawhich requires for its input data climatic information that is easilyand inexpensively collectable at the specific site where the vegetationat issue is located. One such formulation comprises the Hargreavesequation as set forth below:

-   wherein:

ET₀=0.00009×RA×(T° C.+17.8)×TD^(0.50)

-   ET₀=reference evapotranspiration (in inches of water per day); and-   RA=extraterrestrial radiation expressed in equivalent evaporation    (in inches of water per day);-   and further wherein:

T° C.=average daily temperature

-   -   =(Tmax+Tmin)/2; and

TD=daily temperature differential

-   -   =Tmax−Tmin.

Hargreaves techniques have been improved upon by some conventionalsystems that collect daily high and low temperature data at the site ofan irrigation controller. This temperature data is then processed, alongwith extraterrestrial radiation influenced equivalent evaporation data,in accordance with the Hargreaves equation, to determine a referenceevapotranspiration value which represents an estimation of the currentwatering needs of a certain reference vegetation at the site. Thereference evapotranspiration value is then adjusted by a local deviationfactor specific to the site which affects evapotranspiration rates togenerate an adjusted evapotranspiration value. More particularly, thislocal deviation factor accounts for any deviation between actualevapotranspiration or weather station climatic information drivenevapotranspiration and the Hargreaves equation calculatedevapotranspiration, and thus adjusts for localized errors in theapplication of the Hargreaves equation. The locally adjustedevapotranspiration value is then further adjusted, for example, toaccount for the type of vegetation at the site to generate a netevapotranspiration value representing an estimation of the currentwatering needs for the specific plants at that specific site. The netevapotranspiration value is then divided by a sprinkler head averageprecipitation rate to determine a run time for irrigation. Thecontroller then irrigates the site for the duration of the determinedrun time necessary to satisfy the watering needs of the vegetation. Ofcourse, the Hargreaves equation is only one technique that can be usedto generate irrigation schedules.

Some conventional systems use a distributed architecture to controlirrigation. One conventional example includes a system having acontroller that actuates valves at one or more irrigation sites. Thecontroller is in communication with a central server over, e.g., theInternet, where the central server calculates irrigation schedules usingweather data and sends those irrigation schedules to the controller. Thecontroller saves received irrigation schedules and opens and closes theirrigation valves according to the received irrigation schedules.However, such a solution may not be adequate for some users. Forinstance, if the communication link is broken between the controller andthe central server, then the controller might not operate optimally.Also, such conventional system may rely on weather data generatedoff-site, which may be less reliable than weather data generatedon-site.

SUMMARY

Systems and methods for irrigation are described below. In one exampleembodiment, a system is contained at a particular site, where the sitemay be a commercial address or a residential address. The systemincludes a weather station that generates temperature data,precipitation data, and any other useful data that might be used byother components of the system. The system also includes an irrigationcontroller that uses electrical signals to open and close valves,thereby turning sprinklers on and off, whether zone-by-zone orsprinkler-by-sprinkler. The system further includes a host device whichcommunicates with the weather station and with the irrigationcontroller. The host device includes a computer processor and one ormore wireless interfaces. The host device receives the weather data fromthe weather station and calculates an amount of desired irrigation,generating an irrigation schedule. The host device then controls theirrigation controller according to the generated irrigation schedule.

Further in this example, the host device may act as a retrofit solutionto provide more sophisticated irrigation than would be provided by theirrigation controller itself. Conventional irrigation controllers ofteninclude proprietary wired interfaces through which signals may bereceived to control opening and closing of irrigation valves.Accordingly, the host device may include a connection wire correspondingto the proprietary wired interface of the controller, thereby allowingthe host device to remotely control the irrigation controller.Therefore, a consumer may install the host device and the weatherstation on-site, and connect the host device to a remote controlinterface of an existing irrigation controller. The consumer may thenuse the host device to generate and implement irrigation schedules.

Continuing with the example above, the host device may include awireless interface for communicating with a central server that isoff-site. For example, the wireless interface may include a 3G or 4Gcellular transceiver that is operable to communicate with cellular basestation towers to pass information back and forth with a central server.The central server may provide a number of functions, such as advanceduser interface functions for the consumer, as well as providing datauseful for generating irrigation schedules.

Other embodiments may include methods for use with the irrigation systemdescribed above. One example method may include the host devicereceiving weather data from the weather station, either by a wiredinterface or a wireless interface. The host device includes a computerprocessor that generates an irrigation schedule using the weather data.The host device then remotely controls an irrigation controller to carryout irrigation according to the irrigation schedule.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example host device for controlling irrigation ata site, in accordance with an embodiment of the disclosure.

FIG. 2 illustrates an example installation of an irrigation system, inaccordance with an embodiment of the disclosure.

FIG. 3 illustrates an example graphical user interface on a mobilecomputing device configured to allow a user to enter configurationinformation to the irrigation system, in accordance with an embodimentof the disclosure.

FIG. 4 illustrates an example method performed by a host device in anirrigation system, according to an embodiment of the disclosure.

FIG. 5 is another illustration of an example method performed by thehost device in the irrigation system, according to one embodiment.

FIG. 6 illustrates an example installation of an irrigation system,according to one embodiment.

DETAILED DESCRIPTION Example System Embodiments

FIG. 1 is an architectural diagram illustrating an example host device,according to one embodiment. The host device 100 includes microprocessor(CPU) 110 a memory 103 including a programmable read only memory(ROM/PROM) portion and a random access memory (RAM) portion. The memory103 provides a non-volatile storage location for the programming code ofthe host device along with certain data necessary for execution of thecode. The memory 103 provides a volatile storage location for certain(variable/temporary) data generated during execution of the programmingcode. The microprocessor 110 communicates with the memory 103 in aconventional manner utilizing an address bus and a data bus (not shown).It will be understood that the memory 103 may be incorporated integrallywithin, or provided separate and apart from, the microprocessor 110.

Host device 100 also includes wireless communication device 105 forcommunicating with a weather station, where an example weather stationis described in more detail with respect to FIG. 2. In this example,wireless communication device 105 includes a 900 MHz transceiver with anantenna, where 900 MHz is desirable for many on-site deployments becauseof the relative quality of the signal compared with other parts of theradio spectrum. However, the scope of embodiments is not limited to useof 900 MHz only, as other examples may use for instance 2.4 GHz or otheravailable bands.

Wireless communication device 105 provides an interface with the weatherstation, where the weather station provides weather data to be stored inmemory 103 and processed by microprocessor 110. In one example, inresponse to instruction by microprocessor 110, wireless device 105 pollsthe weather station and in response receives weather data transmittedfrom the weather station. Wireless device 105 is a communication devicewhich passes the received data to microprocessor 110, which then storesthe data to memory 103 for later use.

One type of weather data that may be received from the weather stationincludes temperature data. In accordance with the operation of theprogramming code, temperature data collected by the weather station ispassed through the wireless device 105 at the request of themicroprocessor 110 and stored by memory 103. The temperature data isthen subsequently retrieved from the memory 103 by microprocessor 110and processed by the microprocessor 110 in accordance with the executionof the programming code to determine an amount of water to be applied toreplace water lost through the effects of evapotranspiration.

Host device 100 also includes wireless device 106, which in this exampleprovides for data communication over any of a plurality of differentprotocols, including 3G and 4G cellular data, Wi-Fi (IEEE 802.11), andthe like. In one example, wireless device 106 is a cellular datatransceiver, and it communicates with a cellular base station (notshown), which provides a connection to a central server (also notshown). Additionally or alternatively, wireless device 106 may alsoinclude a Wi-Fi transceiver for communicating with a local access point,which provides an Internet connection to the central server. In anyevent, host device 100 includes a connection to a central server thatprovides data management and an advanced user interface in this exampleembodiment.

Further in this example, a consumer or a site manager may have a smartphone, tablet computer, or other appropriate computing device thatincludes an application (“app”) providing a user interface for hostdevice 100. In general, applications are computer software programsdesigned to execute specific tasks. As examples, both Apple's ® AppStore and Google's ® Android Market offer a multitude of applications,including entertainment programs, business programs, file managementtools, and other widgets, etc. The user interface of the applicationcommunicates with the central server, which applies any changes or dataentry to the host device 100 over the air using wireless device 106. Inother words, in this example the user interface application communicatesover the Internet with a central server, and the central servercommunicates with host device 100 via wireless device 106. An exampleuser interface is described more fully below with respect to FIG. 3.

Input data may, in some instances, be stored in the memory 103 bymicroprocessor 110. The kinds of data input into the host device 100 mayinclude, for example: a preferred time of day when irrigation is to beeffectuated; a preferred day (or days) of the week when irrigation is tobe effectuated; an identification of soil type for the irrigated area;an identification of the vegetation type (crop coefficient); sitelatitude; sprinkler flow rates; and, a local irrigation adjustmentfactor. The user interface may further be utilized to initiate certainhost device 100 activities (such as, for example, an irrigationoperation, a self test, or the like) without regard to the current stateof programming code execution.

Host device 100 further includes input output port 111, which may beconnected by wire to one or more sensors that affect irrigation. Anexample of such a sensor is a moisture sensor. When the moisture sensordetects moisture, this is indicative of a rainfall event. During such arainfall event, a signal is passed through the port 111, and themicroprocessor 110 responds thereto by temporarily suppressingcontroller actuation to sprinkle. Another example of such a sensor is arainfall gauge. Using rainfall information collected by the rainfallgauge sensor and passed through the port 111, the microprocessor 110adjusts (e.g., reduces) its programming code calculated irrigationamount of water which needs to be applied to replace water lost throughthe effects of evapotranspiration. Another example of such a sensor is afreeze sensor, which detects a freeze and prevents host device 110 fromcausing a controller to actuate sprinkler valves. Additionally oralternatively, such sensors may be integrated with the weather station,wherein such sensor data would be received by host device 110 viawireless device 105.

A serial communications port 112 is connected to (or is incorporated in)the microprocessor 110 to support communications between the host device100 and external devices such as a personal/laptop computer (not shown).Through this serial port 112, the programming code (and data) stored inthe memory 103 may be updated and data may be extracted from ordownloaded to the memory 103. As an example, a table of extraterrestrialradiation influenced equivalent evaporation data for each month/day ofthe year at a plurality of latitudes may be downloaded into the memory103 through the serial port 112. The serial port 112 further allows atechnician to have access to the microprocessor 110 for the purpose ofperforming diagnostic and maintenance operations on the host device 100.

A time of day clock 104 is connected to the microprocessor 110 throughthe address bus and data bus. This clock 104 maintains a non-volatilerecord of month, day, hour of the day, minutes of the hour and secondsof the minute. The clock 104 generates an output time data that ismonitored by the microprocessor 110 with the time data driving certainoperations in accordance with the programming code. These operationsinclude: reading and storing temperature data; initiating and stoppingirrigation activities; and, performing certain irrigation relatedcalculations.

Input and output ports 113 and 114 are in communication withmicroprocessor 110, and allow host device 100 to send signals to anexternal irrigation controller (not shown) to cause that externalirrigation controller to actuate irrigation valves. In this example,input output port 113 is a generalized port that may include anyappropriate physical connector. Various embodiments described herein maybe used as a retrofit solution, allowing host device 100 to send signalsto existing external irrigation controllers. Conventional externalirrigation controllers, available from a variety of different suppliers,may include any of a multitude of proprietary physical interfaces forreceiving remote control signals. For example, one conventional externalirrigation controller supplier may implement a three-pronged wire input,whereas another supplier of conventional irrigation controllers mayimplement a four-pronged wire input. In any event, it is understood thathost device 100 may be included with a plurality of adapters, forinterfacing input output port 113 with a plurality of differentproprietary remote control inputs of different irrigation controllers.

Therefore, the physical configuration of input output port 113 may bedependent upon the minimal number of output signals needed to service aremote control input having a maximum number of input signals. Inputoutput port 114 in this example conforms to the well-known Modbusprotocol. Microprocessor 110 may use either or both of ports 113 and 114to remotely control an external irrigation controller.

It is also understood that suppliers of different irrigation controllersmay use different remote control signals to allow an external device(such as host device 100) to control the irrigation controller to openand close appropriate valves at appropriate times. Accordingly, memory103 may store instructions allowing it to communicate appropriately withany of a number of irrigation controllers. For instance, if oneconventional irrigation controller uses a first communication protocolfor remote control, and if another conventional irrigation controlleruses a second communication protocol for remote control, memory 103 maybe pre-programmed to conform to those protocols, thereby allowing hostdevice 100 to cause either of those controllers to actuate irrigationvalves appropriately.

Power controller 102 receives power from a source (e.g., 120 V AC) andconverts it into power that is appropriate for microprocessor 110 andwireless devices 105 at 106. Microprocessor 110 may be implemented usingany appropriate logic circuits. For example, microprocessor 110 mayinclude a general purpose Central Processing Unit (CPU), a DigitalSignal Processor (DSP), an Application Specific Integrated Circuit(ASIC), a Field Programmable Gate Array (FPGA), and or the like that isoperable to execute computer code to perform the actions describedherein. For instance, the computer-executable code may be stored tomemory 103, where microprocessor 110 reads that code and executes itupon start up. As a result of executing the code, the microprocessor 110generates irrigation schedules and provides remote control signals tocause a controller to actuate irrigation valves.

In accordance with the execution of the programming code, themicroprocessor 110 outputs irrigation control signals through the I/Ointerfaces 113 and or 114 to control the actuation of irrigation controlvalves (not shown). These control valves operate to either allow orblock the passage of water to one or more sprinkler heads. In oneexample, each control valve is associated with a particular sprinkler orirrigation zone, where a given site may include one or more zones thatare independently controlled and have their own respective irrigationschedules. The length of time each irrigation control valve (i.e., zone)is actuated to allow the passage of water is calculated by themicroprocessor 110 in accordance with the execution of the programmingcode.

The daily temperature data of importance to the Hargreaves equation(high, low and differential) is calculated by the microprocessor 110from the temperature information collected by the weather station andstored in the memory 103. The latitude of the controller site is inputby the user into the memory 103 using, for example, a user interfacethat communicates through a central server and through wireless device105. Using this latitude data, date (month or day) sensitive equivalentevaporation data of importance to the Hargreaves equation is determinedfrom a latitude based extraterrestrial radiation table stored in thememory 103. The microcontroller 110 then determines a referenceevapotranspiration value from the Hargreaves equation (and is perhapssummed over a plurality of days since a last irrigation) at instanceswhen an irrigation event occurs.

Microcontroller 110 then adjusts the reference evapotranspiration valueby a local adjustment coefficient to account for presumed averagevariation between the Hargreaves equation calculated watering needs andeither (1) actual watering needs or (2) Penman-Monteith, modifiedPenmans or other similar evapotranspiration equation calculated wateringneeds. The local adjustment coefficient is estimated and input by theuser or by the central server and saved to the memory 103. The value ofthis local adjustment coefficient is affected by factors such as sitealtitude, site shade conditions, local weather patterns andcharacteristics (humidity, aridity and the like), drainage and topology.

The microcontroller 110 then adjusts the locally adjustedevapotranspiration value by the crop coefficient to account for thespecific type of vegetation being sprinkled. The crop coefficient isinput by the user into the memory 103 using, for instance, a userinterface in communication with a central server. Next, themicrocontroller 110 further adjusts the crop adjusted evapotranspirationvalue to account for any measured rainfall since the last irrigation.The microcontroller then divides the rainfall adjustedevapotranspiration value by the average precipitation rate for thesprinkler heads to determine run time for the actuation of eachirrigation control valve. This average precipitation rate information isinput by the user into the memory 103 by, for instance, the userinterface in communication with a central server. The host device 100then actuates each irrigation control valve by sending remote controlsignals to the irrigation controller, thereby causing the irrigationcontroller to open and close the valves as appropriate according to thespecified run time.

FIG. 2 is a block diagram illustration of a deployed system, accordingto one embodiment. The deployed system shows host device 100communicatively connected to irrigation controller 213 by input outputports 113/114. In this example, host device 100 may be embodied using aPrinted Circuit Board (PCB) having the electronic components shown inFIG. 1 mounted thereon, with the PCB disposed within a ruggedizedhousing. The scope of embodiments is not limited to any specifichousing, although a relatively rigid housing made of polyvinyl chloride(PVC) or other suitable plastic may be appropriate in someinstallations. Input output ports 113/114 are exposed externally to thehousing, facilitating a wired connection 215 between host device 100 andcontroller 213.

Similarly to host device 100, irrigation controller 213 may also beimplemented using a PCB for internal electronics disposed within aruggedized housing. The scope of embodiments is not limited to anyspecific housing for the irrigation controller 213, although in manyinstances a housing similar to that used for host device 100 may beappropriate. It is noted that host device 100 and irrigation controller213 are separate devices and embodied in separate housings.Specifically, in this embodiment, host device 100 is a retrofit devicethat is in communication with a remote control input port (not shown) ofirrigation controller 213 via wired interface 215, thereby allowing hostdevice 100 to send remote control signals to irrigation controller 213.In this manner, host device 100 provides control for the irrigationsystem using previously-installed irrigation controller 213.

Further in this example, irrigation controller 213 is installed at site250, perhaps mounted by brackets to a wall or using other suitablemounting technique. Irrigation controller 213 has wired interface 216 toirrigation valves 220. During operation, irrigation controller 213provides electrical signals to a selected one of the irrigation valves220, thereby activating that valve to cause water to erupt from itscorresponding sprinkler heads 221.

Continuing with the example, each of the irrigation valves 220corresponds to an irrigation zone of site 250. Host device 100 has agenerated irrigation schedule, which specifies a watering time andwatering duration for each of the three zones of site 250. For purposesof this illustration, assume that valve 220A corresponds to Zone 1,irrigation valves 220B corresponds to Zone 2, and irrigation valve 220Ccorresponds to Zone 3. Host device 100 sends remote control signals toirrigation controller 213, thereby causing irrigation controller 213 toactuate valves 220 zone-by-zone according to the irrigation schedule.Host device 100 executes program code to cause it to read a generatedirrigation schedule from its memory and to apply that schedule to thezones.

In the example of FIG. 2, host device 100 sends remote control signalsto irrigation controller 213 to cause irrigation controller 213 to applyelectrical signals to open and close irrigation valve 220A atappropriate times and for appropriate lengths of time, according to theirrigation schedule. Similarly, host device 100 causes irrigationcontroller 213 to apply electrical signals to open and close irrigationvalve 220B according to the irrigation schedule; host device 100 alsocauses irrigation controller 213 to apply electrical signals to open andclose irrigation valve 220C according to the irrigation schedule aswell. In other words, host device 100 controls irrigation controller 213to implement the irrigation schedule zone-by-zone so that each zone istreated independently.

The example of FIG. 2 shows only three zones at site 250, but the scopeof embodiments is not limited to only three zones. The system shown inFIG. 2 may be scaled to any appropriate number of zones for site 250.Additionally or alternatively, the system shown in FIG. 2 may controlindividual sprinkler heads 221, assuming that such individual sprinklerheads may be individually actuated by electrical signals from irrigationcontroller 213.

Further at site 250, there is weather station 210, which operates asdescribed above. Weather station 210 may be mounted, for instance, in anarea where it may receive sunlight, wind, and precipitation so that itprovides accurate weather data. As noted above, weather station 210communicates wirelessly with host device 100 to pass weather data fromweather station 210 for processing and storage at host device 100. Forinstance, some embodiments may use a 900 MHz wireless connection forcommunications between weather station 210 and host device 100. Whileweather station 210 is shown communicating wirelessly, it is within thescope of embodiments that a wired connection may be made in addition toor instead of a wireless connection. It is noted that weather station210 is included at the same site as host device 100 and irrigationcontroller 213. Thus, host device 100 generates an irrigation scheduleusing weather data gathered on-site and performs the processing togenerate the irrigation schedule on-site.

Site 250 also includes wireless access point 212, which may include aIEEE 802.11 (Wi-Fi) access point or other appropriate access pointcapable of communicating wirelessly with weather station 210, hostdevice 100, and mobile computing device 214. For example, a wirelessaccess point 212 may provide a wireless Internet connection availablefor use by other wireless communicating devices and may also act as acommunications switch, routing communications between wirelesscommunicating devices. In one example method of communication, hostdevice 100 communicates wirelessly with weather station 210 using accesspoint 212 as a communications switch. In another example method ofcommunication, host device 100 communicates with a central server 264using a wireless Internet connection provided by wireless access point212.

In some embodiments, the algorithm used to calculate irrigationschedules is affected by boundary conditions of site 250. Examples ofboundary conditions include, e.g., soil type, sprinkler head type,vegetation type, latitude of site, and/or any other relevant factor. Atechnique to enter such information into the memory at host device 100includes using a graphical user interface application at mobilecomputing device 214. In such a technique, a user may open theapplication operating on mobile device 214 and access an interfaceconfigured to receive information regarding boundary conditions. Theuser enters information into the interface, thereby causing theinformation to be sent to central server 264 via wireless access point212 and network 262 (e.g., the Internet).

An example graphical user interface for use at mobile computing device214, according to one embodiment, is illustrated in FIG. 3. Mobilecomputing device 214 may include any appropriate mobile computingdevice, including a smart phone, a tablet computer, a laptop computer,and/or the like. In fact, it is within the scope of embodiments that theapplication may be executed on a desktop computer or other device asappropriate. Mobile computing device 214 includes a microprocessor (notshown) that reads executable instructions from a computer-readablemedium and executes those instructions to provide the functionality ofthe application. As shown in FIG. 3, the application includes an exampleinterface 310, which has pull-down menus where a user can enter orchoose preferred dates, preferred times, soil type, vegetation type, andsprinkler type for Zone 1. It is understood that interface 310 providessimilar techniques for entry of boundary conditions for other zones aswell.

Of course, interface 310 of FIG. 3 is an example, and the scope ofembodiments is not limited to any particular graphical user interfacefor entering boundary conditions. Other embodiments include an interfacebuilt into host device 100, such as a touchscreen interface, allowing auser to enter boundary conditions directly into host device 100 ratherthan through a separate device such as mobile computing device 214. Inanother example, device 2148 interface with host device 100 via port 111or wireless device 105 to directly enter data.

Returning to FIG. 2, base station 260 is located away from site 250.Base station 260 includes a cellular data base station, such as a 3G or4G base station, or other appropriate base station. The scope ofembodiments is not limited to any particular communications technologyfor base station 260, so other data transmissions protocols now known orlater developed, including 5G wireless access, may be supported by basestation 260. In the embodiment of FIG. 2, base station 260 is used totransmit data between host device 100 and central server 264. Thus,while the example above provides an illustration of Internet accessusing wireless access point 212, the embodiment further provides fordata communications via base station 260. An example method of useincludes a user entering boundary conditions using mobile computingdevice 214, where its boundary conditions are received through network262 at server 264. Central server 264 then sends that data to hostdevice 100 using a cellular data protocol, such as 3G or 4G, asfacilitated by a wireless communication device (such as transceiver 105of FIG. 1) at host device 100.

The application executed by mobile computing device 214 may be used tocontrol various functionality of host device 100. As noted above, a usercan enter boundary conditions using the application, where its boundaryconditions are downloaded to host device 100 using either wirelessaccess point 212 or base station 260. Various embodiments also includeadditional control functionality, such as allowing a human user to testsprinklers and valves in various zones, to access diagnosticinformation, or to access historic weather data using the application aswell. Such additional functionality may be provided by central server264, which stores diagnostic information and historic weather andhistoric operational data. In some embodiments, central server 264includes one or more databases of operational and weather data for avariety of sites, including site 250, and making that data available tousers of applications at a variety of different mobile devices and at avariety of different sites.

Further in this embodiment, host device 100 reports to central server264 every day or at other appropriate time periods so that centralserver 264 includes a comprehensive record of operational and weatherdata at site 250. Host device has a bitmap memory (included in memory103 of FIG. 1) that stores operational and weather data as well asboundary conditions and updates that information as appropriate. Butrather than reporting the entire contents of the bitmap memory at everyreporting period, host device 100 in some examples reports only thoseportions in its bitmap memory that have changed since the previousreporting period.

Continuing with the example, host device 100 stores dates and times forirrigation, runtimes for irrigation, high and low temperatures for aday, accrued water deficit, boundary conditions, and other pertinentinformation affecting the entire site 250 or individual zones. Hostdevice 100 also stores metadata indicating which portions of the bitmapmemory have changed since the previous reporting period. At eachreporting period, host device 100 checks the metadata for information inthe memory that has changed and reports that changed data to centralserver 264 using either a cellular data connection via base station 260or a wireless Internet connection at access point 212.

For example, each day a high and a low temperature may have changed, andthose high and low temperature portions of the bitmap memory may bereported at a given reporting period. However, data that has not changed(e.g., soil type or vegetation type) is not reported. Such selectivereporting is advantageous in some embodiments because it reduces theamount of data that is sent from host device 100 to server 264. Sincesome cellular data agreements charge by amount of data that istransferred or include caps on data that may be transferred at a certainprice, reducing the amount of data sent may reduce operating cost of thesystem at site 250.

Various embodiments may include advantages over conventional solutions.For instance, the embodiment of FIG. 2 calculates irrigation scheduleson-site using weather data generated on-site. Therefore, even if acommunication connection with the central server 264 becomes temporarilyunavailable, host device 100 can continue to receive relevant weatherdata and calculate appropriate irrigation schedules even as weatherconditions change. By contrast, a conventional system that calculatesirrigation schedules only at a server has less utility when theconnection to the server is unavailable.

Also, the use of an on-site weather station provides weather datarelevant to that site with a precision that may not be available withwider area-based weather reports. Weather phenomena can be relativelylocalized, where for example sites along one side of a street mayreceive substantially more rainfall in a single event than similar sitesdirectly across that street. Accordingly, area-based weather serviceshaving as few as one weather station (or fewer) per square mile mayprovide relevant weather data but may not provide precise weather datathat accounts for the local nature of weather phenomena. By contrast,the embodiment of FIG. 2 may provide weather data for a given site foruse at that given site to calculate an irrigation schedule tailored to aparticular irrigation deficit experienced at that site. Furthermore,other embodiments may include more than one weather station per-site,such as one weather station per-zone, thereby providing even greaterprecision in calculation of irrigation schedules.

Sites 250 of FIG. 2 may include any of a variety of localized areas. Anexample of a site includes a residential address, an elementary schoolcampus encompassing the city block, a commercial facility having ashopping center or a big-box store. Larger sites, such as collegecampuses or multiple-acre commercial establishments may be divided intosmaller sites and may include multiple weather stations and or multiplehost devices. In some examples, a site is under control of a singlemanager responsible for irrigation, in contrast to a large residentialarea with multiple homeowners or a commercial district with a variety ofcommercial owners and tenants. In many instances, a site is smaller inland area than a comparable area covered by a commercial weather servicehaving a small number of weather stations in a given square mile.

It was mentioned above that input output port 114 may conform to thewell-known Modbus protocol. FIG. 6 is an illustration of an examplesystem 600 employing the Modbus protocol, according to one embodiment.In this example, input output port 114 is configured as two input outputports. A first input output port of port 114 (hereinafter referred to asport 114 a) is configured as a slave interface for communication with aSupervisory Control and Data Acquisition (SCADA) unit 610, OperatorInterface Terminals (not shown), or any other master. Thus, the SCADA610 is able to access the host device 100 and any devices connected asslave devices to the host device 100. The second input output port ofport 114 (hereinafter referred to as port 114 b) is configured as amaster interface for communicating with the devices connected as slavedevices to the host device 100.

In this example, input output port 114 a is configured as an isolatedRS-485 Modbus Remote Terminal Unit (RTU) or other appropriate interface,where host 100 can be connected as a slave device with respect to SCADA610 or other master device. Further in this example, input output port114 b is connected as an isolated RS-485 Modbus RTU master interface orother appropriate interface to allow host device 100 to control itsslave devices. Such an embodiment may be used to adapt host device 100to use at a large site, where multiple irrigation controllers 213 a-care connected as slaves to the host device 100. The host device 100calculates irrigation schedules and controls the multiple irrigationcontrollers 213 a-c using the Modbus protocol via port 114 b. The SCADA610 can be used to provide a master interface for the host device 100 tocommunicate with a human user and to receive relevant data, such asplant types and sprinkler head types for a variety of different zonescontrolled by the external irrigation controllers.

An aspect an advantage of this embodiment is that the host device 100may be provided as a retrofit device to an existing and conventionalModbus-controlled irrigation system. Specifically, the host device 100may be interfaced with existing Modbus-compliant irrigation controllers,and an existing SCADA may be reprogrammed to communicate with the hostdevice 100. However, other embodiments may be more than a retrofitsolution, including installing a new SCADA and irrigation controllers.An advantage that may be provided by some Modbus-compliant embodimentsis that the host device 100 may be used as a master to communicate witha multitude of irrigation controllers at a larger-sized site.

Example Method Embodiments

A flow diagram of an example method 400 of operating a host device, suchas host device 100 of FIGS. 1 and 2, is illustrated in FIG. 4. In oneexample, method 400 is performed by a microprocessor of a host device,which executes computer program code to generate and implementirrigation schedules at a site.

At action 410, the host device communicates with the weather stationusing a wireless interface to receive weather data for the site. In thisexample, the weather station and the host device are located at a site,which is the same site for which the host device calculates irrigationschedules.

An example is shown with respect to FIG. 1, where host device 100 useswireless communication device 105 to communicate with an on-site weatherstation to receive weather data for the site. In other embodiments, awired interface rather than a wireless interface may be used tocommunicate weather data from the weather station to the host device.Examples of weather data include, but are not limited to, high and lowtemperature for a day, amount of precipitation, amount of solarradiation, a freeze alert, and a rain since alert.

At action 420, the host device communicates with a server over theInternet to receive boundary condition parameters regarding the site. Anexample is illustrated with respect to FIGS. 2 and 3, where host device100 communicates with central server 264 either over a cellular dataconnection via base station 260 or via wireless access point 212. Thecentral server 264 has those boundary condition parameters saved to itsmemory, and it transmits those boundary condition parameters to the hostdevice 100 as a push or pull operation.

In this embodiment, boundary condition parameters include digital datahaving values indicative of certain conditions at the zones of the site.Examples of boundary conditions include, but are not limited to, thevegetation type, soil type, preferred dates and times for irrigation,sprinkler types, and the like. Boundary condition parameters in suchexamples include digital data indicative of the values of those boundaryconditions.

At action 430, the host device uses its computer processor to generatean irrigation schedule for the site. The irrigation schedule is based onthe weather data and the boundary condition parameters. Any appropriateirrigation schedule algorithm may be used by various embodiments. Onesuch irrigation schedule algorithm uses a modified Hargreavescalculation, as described in more detail with respect to FIG. 5.However, the scope of embodiments is not limited to Hargreaves-typealgorithms

At action 440, the host device communicates with an irrigationcontroller to cause the irrigation controller to open and close aplurality of water valves at the site according to the irrigationschedule. Specifically, the host device communicates with the irrigationcontroller according to a communication protocol associated with theirrigation controller. In some examples, the irrigation controller has aremote control input and communicates using a proprietary protocol. Insuch examples, the host device includes a wired interface appropriatefor the remote control input and also has in its memory program code toallow it to communicate according to the proprietary protocol. Inresponse to the received remote control signals, the irrigationcontroller uses its own electrical signals to open and close the watervalves at the various zones according to the irrigation schedule.

In some instances, the host device is operable to recognize anirrigation controller when it is plugged into a remote control input ofthe irrigation controller. In such embodiments, the host device includescomputer code executable by its microprocessor to recognizecommunication protocols of a variety of different irrigationcontrollers. The host device may recognize that its output has beenplugged into a remote control input of an irrigation device, and it maypoll the irrigation device to cause it to output information. The hostdevice then compares that information to known communication protocolsto be able to identify the type of irrigation device. The host devicemay then move forward using the identified communication protocols tocontrol the irrigation controller.

The scope of embodiments is not limited to the specific method shown inFIG. 4. Other embodiments may add, omit, rearrange, or modify one ormore actions. For instance, some embodiments may include the host devicecommunicating with the central server to transmit data back to thecentral server, where that data includes operating and weatherinformation. Such actions are described above with respect totransmitting changed data from the host device memory to the centralserver. Such actions are also described in more detail with respect toFIG. 5.

A flow diagram of an example method 500 of operating a host device isillustrated in FIG. 5. The actions of FIG. 5 are performed by amicroprocessor of a host device, such as the microprocessor 110 of hostdevice 100 of FIG. 1. The microprocessor perform such actions by readingcomputer program code from a computer-readable medium executing thatcode.

Method 500 of FIG. 5 is similar to method 400 of FIG. 4, but thediscussion of FIG. 5 includes more detail about a particular algorithmto generate irrigation schedules using a modified Hargreaves equation.It should be understood that FIG. 4 and FIG. 5 are different ways ofexpressing certain aspects of the operation of a given host device,according to some embodiments. Also, some embodiments may use algorithmsother than a Hargreaves algorithm by adapting the method of FIG. 5 tosuch other algorithm.

In this embodiment, the programming code for the host device 100 isdesigned to implement the Hargreaves equation for calculating areference evapotranspiration value based on 1) daily temperature and 2)equivalent evaporation based on extraterrestrial radiation at thelatitude of the site where the host device 100 and weather station areinstalled. This reference evapotranspiration value represents anestimation of the watering needs of a certain reference vegetation atthe site. This reference evapotranspiration value is then adjusted toaccount for the specific type of vegetation at the site, rainfall, andlocal factors specific to the site which affect evapotranspirationrates. The resulting evapotranspiration value represents an estimationof the watering needs for the specific plants at that specific site. Awatering time is then calculated from the resulting evapotranspirationvalue and sprinkler average precipitation rates to determine how longthe irrigation system in each zone of the site must be actuated toreplace lost water

At action 510, the user (e.g., a human user) configures the host device100 by inputting certain information such as: 1) an irrigation schedule(day and time of day when irrigation should occur); 2) type of soil atthe site; 3) average precipitation rate for the sprinklers in each zone;4) latitude of the site; 5) type of vegetation at the site (cropcoefficient); and 6) a local adjustment factor which accounts for alocal presumed average variation between the Hargreaves equationcalculated evapotranspiration value for the site and either (1) actualwatering needs (evapotranspiration) at the site or (2) Penman-Monteith,modified Penmans or other similar evapotranspiration equation calculatedevapotranspiration value for the site. According to the embodiment ofFIGS. 2 and 3, the user may enter this boundary condition informationinto a user interface at a mobile computing device, where the mobilecomputing device transmits that data to the central server. The centralserver then downloads boundary condition parameters to the host device100, as described above. However, in some embodiments the host device100 itself may include an interface or communication port configured toallow a user to enter the information directly into the memory 103 ofthe host device 100.

Next, the method 500 enters a loop (generally indicated at 502) forcontrolling irrigation operation. In step 504, host device 100determines whether it is time to collect temperature data. Thisdetermination may be based upon a set schedule for temperaturemeasurement (for example, certain times of the day), or upon a periodicmeasurement procedure (for example, once every thirty minutes each day).Clock supplied information (e.g., by clock 104 of FIG. 1) may be used totrigger a temperature measurement. If yes in step 504, the process makes(and perhaps stores) a temperature measurement in step 506 and returnsto the top of the loop 502. Temperature data is read by themicroprocessor of the host device from the weather station 210 and savedin the RAM at memory 103 if it is either 1) higher than a currentlystored high for the day, or 2) lower than a currently stored low for theday. The process then returns to the top of the loop 502.

If no in step 504, the process next determines in step 508 whether it isthe end of the day (i.e., midnight). This determination is made by themicroprocessor of the host device reading the clock of the host device.If yes in step 508, step 510 is executed to save the currently storedhigh and low temperatures into a temperature record for that expiredday, and the currently stored high and low temperatures are reset. Thus,for each passing day, the RAM in the memory 103 of host device 100stores a record of the measured high and low temperatures for that day.As an example, a first in, first out (FIFO) queue may be maintained inthe RAM of memory 13 for storing the daily high and low temperatures.This queue may be of any selected and supported size, and in someembodiments has a size of at least thirty-one records in order to storea month's worth of temperature data.

In a first implementation of the process, following the temperaturesaving action of step 510, the process next calculates and saves in step512 a reference evapotranspiration value for that day. The stored dailyhigh and low temperature data from that day is extracted from memory andprocessed to provide high, low and differential temperature values. Theextraterrestrial radiation influenced equivalent evaporation data forthat day at the user input latitude for the controller site is alsoextracted from either a monthly or daily estimate table stored in theRAM at memory 103. The high, low and differential temperature values andequivalent evaporation data are then processed to calculate thereference evapotranspiration value for that day in accordance with theHargreaves equation. The process then returns to the top of the loop502. As an example, a first in, first out (FIFO) queue is maintained inthe RAM at memory 103 for storing the daily evapotranspiration values.This queue may be of any selected and supported size, and in someembodiments has a size of at least thirty-one records in order to storea month's worth of evapotranspiration data.

If no in step 508, the host device 100 next determines in step 514whether it is time to irrigate. This determination is made by themicroprocessor reading the clock to compare the month/day/time to theuser input irrigation schedule. If no in step 514, the process thenreturns to the top of the loop 502. If yes in step 514, the host device100 retrieves in step 516 the stored reference evapotranspiration valuesfor each preceding day since a last irrigation event. These retrievedvalues are then summed in step 518 to produce a total referenceevapotranspiration value which represents an estimation of the currentwatering needs of a certain reference vegetation at the site. In asecond implementation of the process, step 512 above is skipped, and ifyes in step 514, the stored high and low temperature data for each daysince a last irrigation event are retrieved in step 516′. Theseretrieved values providing high, low and differential temperature valuesare then processed, along with equivalent evaporation data, in step 518′to calculate the reference evapotranspiration value for each day inaccordance with the Hargreaves equation, with the daily values since alast irrigation event summed to produce a total referenceevapotranspiration value which represents an estimation of the currentwatering needs of a certain reference vegetation at the site.

Next, in step 520, the host device 100 adjusts the total referenceevapotranspiration value to account for the type of vegetation at thesite (a boundary condition), any measured rainfall (derived from weatherstation data) and local factors specific to the site which affectevapotranspiration rates. The resulting net evapotranspiration valuerepresents an estimation of the current watering needs for the specificplants at that specific site.

As an example of this step 520 adjustment, the host device multipliesthe reference evapotranspiration value by the user input localadjustment factor. In this regard, it is recognized that the Hargreavesequation is not always adequately precise at some sites, and the localadjustment factor accounts for a local presumed average variationbetween the Hargreaves equation calculated evapotranspiration value forthe site and either (1) actual watering needs (evapotranspiration) atthe site or (2) an estimated Penman-Monteith, modified Penmans or othersimilar evapotranspiration equation calculated evapotranspiration valuefor the site.

As another example of this step 520 the host device multiplies thelocally adjusted reference evapotranspiration value by the user inputcrop coefficient to tailor the value to the specific vegetation atissue. This adjustment is made on a zone-by-zone (or program-by-program)basis as it is possible that different zones under the influence of asingle controller may be populated with different types of vegetation.Thus, a certain crop coefficient may be applied for one zone which ispopulated by turf grass, and another crop coefficient may be applied toanother zone which is populated by shrubbery. As yet another example ofthis step 520 adjustment, a measured amount of rainfall since a lastirrigation time is subtracted from the locally adjusted and/or cropadjusted reference evapotranspiration value. The result of this step 520adjustment is the generation of a net evapotranspiration value.

In step 522, the host device determines a watering program for the site.This program executed by the host device 100 takes into account not onlythe calculated resulting net evapotranspiration value, but also theaverage precipitation rates of the sprinkler(s) in each zone and thetype of soil. The calculated resulting net evapotranspiration valuecomprises an amount of water to be applied (in inches or otherequivalent metric standard) for each zone. A watering time for each zoneis determined by dividing the calculated resulting netevapotranspiration value for the site/zone by the average precipitationrate (in inches/hour or other equivalent metric standard) for thesprinklers in each zone (or program) to determine how long theirrigation system in each zone (or program) of the site must be actuatedto replace lost water. The program further specifies whether thiswatering time in each zone (or program) should be measured over a singleapplication period or divided out over a plural number of applicationperiods. This determination is made based on soil type in the zone asmultiple application periods should be utilized with soils (like clays)having a low intake rate, and a single application period is suitablefor soils (like sands) having a high intake rate. The soil typedetermination may also (or alternatively) take into account the surfacecontour (i.e., terrain conditions) for the soil of each zone (orprogram) as multiple application periods should be utilized with highlycontoured (for example, hilly) zones subject to run-off concerns, and asingle application period is suitable for flat contoured zones.

Next, in step 524, the determined watering program is implemented byhost device 100. This implementation is made on a zone-by-zone (orprogram-by-program) basis so that each zone (or program) receives theproper amount of irrigation for replacing lost water. In someembodiments, step 524 may be carried out by the host device 100 sendingremote control signals to an irrigation controller at the site, therebycausing the irrigation controller to issue its own electrical signals toactuate water valves at the one or more zones according to theirrigation schedule. Sprinkler head-by-sprinkler head implementation ofthe watering program may also be made in some embodiments, where thesprinkler heads may be individually actuated.

In situations where the on-site weather station detects moisture (suchas from a rain storm) concurrent with the implementation of the wateringprogram, the actions of step 524 are suspended pending the next step 514determination to irrigate. Furthermore, in situations where the weatherstation measures a current temperature that is less than a certain value(indicative of a possible freeze or frost condition) the actions of step524 are suspended pending the next step 514 determination to irrigate.The process then returns to the top of the loop 502.

The scope of embodiments is not limited to the specific actions shown inFIGS. 4 and 5. In fact, other embodiments may include furtheradvantageous features that can be implemented along with thefunctionality described with respect to FIGS. 4 and 5. For instance, inone example, the host device 110 of FIGS. 1 and 2 is in communicationwith a flow sensor that is installed at or near the site flow meter orat a master valve of the site. This on-site flow sensor is incommunication with the host device 110 using either wired or wirelesstechniques. For example, a simple two-wire interface may be used betweenthe on-site flow sensor and the host device 110, or a wireless interfacesuch as a 900 MHz wireless may be used to pass data between the flowsensor and the host device 110.

As noted above, the host device 110 controls an irrigation controller(e.g., controller 213 of FIG. 2), thereby causing the irrigationcontroller to open and close either individual valves or multiple valvesassociated with a zone. When the host device 110 causes a valve ormultiple valves associated with a zone to open, it communicates with theflow sensor to receive a series of messages or signals from the flowsensor. The host device 110 includes logic to convert those signals intoan appropriate flow measurement, such as gallons per minute by usingpre-programmed mathematical models.

This provides a real-time flow that is specific to either an individualvalve or an individual zone. This also provides an indication of thetotal site flow during that operating period of the individual valve orzone. Such technique can be performed for multiple individual valves orindividual zones (e.g., zone by zone as a series of zones) to provide acomprehensive picture of water use during irrigation. Of course, sincethe flow sensor is installed at or near the site flow meter or mastervalve, the flow that it senses is water use for the site, which mayinclude non-irrigation uses as well. Algorithms can be used todifferentiate between irrigation water use and non-irrigation water use.For example, if no irrigation is being performed, but the flow metersenses a particular amount of flow immediately before opening a valve,then water use for that valve may be calculated by subtracting thesubsequent flow rate from the amount sensed immediately before openingthe valve. However, various embodiments may include any appropriatealgorithm for measuring flow.

The host device 110 calculates real-time flow specific to a zone orindividual valve, total flow for an operating period by valve or zone,and combined totals for a specified time (e.g., a day) and, whenappropriate, transmits that information to a central server, such asserver 264 of FIG. 2. Either the host device 110 or the central server264 may then generate any high or low flow alerts and provide thosealerts in real time to a user or caretaker of the site. A high or a lowflow may indicate a malfunction at a particular valve or zone, and whenthe system detects a high or low flow event for a particular valve forzone, then it may skip that valve or zone in the calculated irrigationschedule until it receives input either erase seeing the alert frommemory or indicating that a malfunction has been repaired.

Of course, providing a host device 110 with real-time flow sensing for asite may allow for other functionality to be implemented. In oneexample, the host device 110 may keep track of water use for the site(both for irrigation and non-irrigation) against a water budget andprovide alerts when flow either exceeds the water budget or comes in lowcompared to the water budget. Specifically, the irrigation flow controland monitoring algorithms described in U.S. Pat. No. 7,930,069 may beperformed by a host device 110 in communication with an on-site flowmeasuring device (the teaching of U.S. Pat. No. 7,930,069 isincorporated in its entirety herein).

Various embodiments may provide one or more advantages over someconventional systems. The embodiment of FIG. 2 is a retrofit solutionthat adds a host device 100 to an existing irrigation system, so thatthe advanced features of the host device 100 may be realized. The userdoes not have to completely replace the existing irrigation system, butrather uses an existing remote control input of the irrigation system toreceive remote control signals from the added host device 100.

Furthermore, the embodiment shown in FIG. 2 includes a weather station,a host device, and an irrigation controller all located at the site thatis being irrigated. This may allow for more precise measurements ofevapotranspiration and water deficits for that particular site, whichmay prevent water waste by allowing the system to use an efficientirrigation schedule appropriate for that particular site. This may alsoallow for the device to continue updating irrigation schedules based onmeasured weather conditions, even without an Internet connection to acentral server.

Moreover, various embodiments provide for transmitting weather data andoperational data from the host device to the central server bytransmitting changed data while not transmitting data that stays thesame (compared to a previous reporting period). Such embodiments maytransmit much less data over a longer period of time, thereby loweringoperating costs.

As those of some skill in this art will by now appreciate and dependingon the particular application at hand, many modifications, substitutionsand variations can be made in and to the materials, apparatus,configurations and methods of use of the devices of the presentdisclosure without departing from the spirit and scope thereof. In lightof this, the scope of the present disclosure should not be limited tothat of the particular embodiments illustrated and described herein, asthey are merely by way of some examples thereof, but rather, should befully commensurate with that of the claims appended hereafter and theirfunctional equivalents.

What is claimed is:
 1. A system comprising: a site-based computingdevice having: a first communication interface configured forcommunicating with a site-based weather station at a same site as thecomputing device, the site-based computing device configured forreceiving weather data from the site-based weather station via the firstcommunication interface; a computer processor configured for receivingthe weather data and generating an irrigation schedule for the sitebased on the weather data and boundary conditions for the site, whereingenerating the irrigation schedule comprises generating a watering timeand a watering duration for each of a plurality of watering zones; and asecond communication interface configured for communicating with anirrigation controller at the site, the computer processor configured tocontrol opening and closing of irrigation valves at the site, via thesecond communication interface, and according to the watering time andwatering duration for each of the watering zones.
 2. The system of claim1, wherein boundary conditions include at least one of the followingparameters: plant type in an irrigation zone, soil type in an irrigationzone, and sprinkler type in an irrigation zone.
 3. The system of claim1, wherein the second communication interface comprises a mastercommunication interface, the system further comprising: a plurality ofadditional irrigation controllers at the site, wherein the irrigationcontroller and the additional irrigation controllers are configured asslave devices responsive to the computer processor as a master device.4. The system of claim 1, wherein the site comprises commercial realestate having a single address.
 5. The system of claim 1, wherein thesite-based computing device further has a third communication interfaceconfigured for communicating over the Internet with a server computer.6. The system of claim 5, wherein the computer processor is operable toreceive the boundary conditions for the site over the Internet via theserver computer.
 7. The system of claim 5, wherein the thirdcommunication interface is configured for communicating over a cellularnetwork with the server computer.
 8. The system of claim 1, wherein thecomputer processor includes a memory having a memory map defined for aplurality of data points, each of the data points corresponding to anirrigation parameter of the site.
 9. The system of claim 8, wherein thecomputer processor is configured to transmit to a server ones of thedata points that have changed since a previous transmission to theserver while omitting transmitting to the server ones of the data pointsthat have not changed since the previous transmission to the server. 10.the system of claim 1, further comprising: a flow sensor configured togenerate signals to the host device, the signals indicative of a flow ofwater; and logic at the computer processor configured to convert thesignals into a flow measurement.
 11. A method performed by a site-basedcomputing device in communication with a physical weather station at thesame site and an irrigation controller at the same site, the methodcomprising: communicating with the weather station using a firstcommunication interface to receive weather data for the site;communicating with a server over the Internet to receive boundarycondition parameters regarding the site; generating an irrigationschedule for the site based on the weather data and the boundarycondition parameters, wherein the generating is performed using acomputer processor of the site-based computing device, and whereingenerating the irrigation schedule comprises generating a watering timeand a watering duration for each of a plurality of watering zones; andcommunicating with the irrigation controller to cause the irrigationcontroller to open and close a plurality of water valves at the siteaccording to the watering time and watering duration for each of thewatering zones and according to a communication protocol associated withthe irrigation controller.
 12. The method of claim 11, furthercomprising: storing irrigation parameters of the site in a memory map ofthe computer processor; in response to determining that it is a timeperiod for communicating at least some of the irrigation parameters,transmitting ones of the irrigation parameters to a server over theInternet, and omitting transmitting ones of the irrigation parametersthat have not changed since a prior transmission.
 13. The method ofclaim 11, further comprising: communicating with an on-site water flowmeter to receive data indicative of water flow at the site; andcalculating a real-time flow specific to a particular zone of the siteor a particular valve of the site.
 14. The method of claim 11, whereincommunicating with the server comprises transmitting and receivinginformation over the Internet using a wireless access point located atthe site.
 15. The method of claim 11, wherein generating an irrigationschedule comprises employing a modified Hargreaves algorithm.
 16. Themethod of claim 11, further comprising: communicating with a pluralityof additional irrigation controllers at the site, wherein the irrigationcontroller and the additional irrigation controllers are configured asslave devices responsive to the site-based computing device.
 17. Anirrigation system located at a site to be irrigated, the irrigationsystem comprising: means for communicating with an on-site physicalweather station using a first communication interface to receive weatherdata for the site; means for communicating with a server over theInternet to receive boundary condition parameters regarding the site;means for generating an irrigation schedule for the site based on theweather data and the boundary condition parameters by generating awatering time and a watering duration for each of a plurality ofwatering zones; and means for communicating with an irrigationcontroller to cause the irrigation controller to open and close aplurality of water valves at the site according to the watering time andwatering duration for each of the watering zones and according to acommunication protocol associated with the irrigation controller. 18.The irrigation system of claim 17, further comprising: means for sensingwater flow in communication with the irrigation schedule generatingmeans.
 19. The irrigation system of claim 17, wherein the means forcommunicating with the irrigation controller comprises means forcommunicating with a plurality of irrigation controllers configured asslave devices.
 20. The irrigation system of claim 17, wherein the meansfor generating the irrigation schedule comprises a microprocessor incommunication with a memory for storing computer executable code, themicroprocessor operable to execute the computer executable code and togenerate the irrigation schedule according to the computer executablecode.